<?php

namespace App\Components;

/**
 * StepDependency - container for dependency
 */
class StepDependency{
	
	/** @var String $fieldName - dependency on this field*/
	private $fieldName = "";
	
	/** @var String $fieldValue - dependency on this value of field */
	private $fieldValue = "";
	
	/** @var String $dependentStepId - dependency for step defined by this stepId */
	private $dependentStepId = "";
	
	/** @var array $hide - array of field names from dependent step */
	private $hide = array();
	
	/**
	 * Create onject
	 * 
	 * @param String $fieldName
	 * @param String $fieldValue
	 * @param String $dependentStepId
	 * @param array $hide
	 */
	public function __construct($fieldName, $fieldValue, $dependentStepId, $hide){
		$this->fieldName = $fieldName;
		$this->fieldValue = $fieldValue;
		$this->dependentStepId = $dependentStepId;
		$this->hide = $hide;
	}
	
	/** getters and setters */
	
	public function getFieldName() {
		return $this->fieldName;
	}

	public function getFieldValue() {
		return $this->fieldValue;
	}

	public function getDependentStepId() {
		return $this->dependentStepId;
	}

	public function getHide() {
		return $this->hide;
	}

	public function setFieldName($fieldName) {
		$this->fieldName = $fieldName;
	}

	public function setFieldValue($fieldValue) {
		$this->fieldValue = $fieldValue;
	}

	public function setDependentStepId($dependentStepId) {
		$this->dependentStepId = $dependentStepId;
	}

	public function setHide($hide) {
		$this->hide = $hide;
	}
}